Virtualization is the abstraction of computer resources and creation of a virtual version of something such as an operating system, a server, a storage device or network resources. Server virtualization is the abstraction of server resources (including the number and identity of individual physical servers, processors, and operating systems) and is used by many businesses and large organizations to reduce the costs of having individual physical servers (such as corporate web servers, print servers, databases, etc.).
Server virtualization helps to eliminate server sprawl, makes more efficient use of server resources, and centralizes server administration. A short-term server failure can cost an enterprise more in lost revenues than the cost associated with purchasing and installing the server. Therefore, the ability to backup virtual machines and move data from one virtual machine to another machine (i.e., another virtual machine or a physical machine) is critically important.
A server administrator may use a software application, often provided by an outside vendor, to create virtual machines (VMs) by dividing a physical server (host machine) into multiple isolated virtual environments (guests). Many vendors offer enterprise-level virtualization products such as the VMware® ESX Server, which allow multiple operating system environments to co-exist on the same computing system (VMware is a registered trademark of VMware, Inc.).
These virtualization products often provide a framework for backup of virtual machines from one or more virtualization servers at a central point known as a backup proxy (e.g., VMware has a capability known as VMware Consolidated Backup (VCB) for this purpose). The backup framework provides virtual disk snapshot and remote snapshot mounting capabilities, but the data movement and storage of the backup data is left to a third-party implementation that is often supported by backup products provided by other vendors.
Current backup frameworks have many shortcomings associated with managing backup data for software applications (e.g., database, mail, etc) running in the virtual machines. Server administrators normally use third-party backup products to initiate or modify the backup process for each application. Third-party backup products, such as the International Business Machines (IBM®) Tivoli® Storage Manager product, provide specialized data protection products which handle the backup for specific applications (IBM and Tivoli are registered trademarks of IBM).
However, when these specific applications are executed over a virtual machine, current backup frameworks do not provide any mechanism for the third-party backup products to automatically interact with the applications during backup. Instead, a server administrator is required to run scripts inside the virtual machines before and after taking a snapshot of the virtual disks to facilitate such interaction manually.
Furthermore, in the current systems, the backup framework is not provided with any information on application to data mapping or the identity of applications that are running on each virtual machine. Therefore, the server administrator must track this information and manually prepare the required scripts on each virtual machine to stop and restart the execution of each application, respectively before and after each snapshot is taken. As such, applications must be brought offline (e.g., placed in a frozen or saved state) before the backup process is initiated in order to achieve application data consistency.
Microsoft's® Volume Shadow Copy Service (VSS) provides an alternative to the above-noted backup frameworks by allowing the possibility to backup specific applications by tracking the files that are to be backed up and the volumes that are to be frozen, and by notifying each application running on the virtual machine to prepare itself for backup before a snapshot of the virtual machine is taken. Unfortunately, however, the VSS system substantially increases the load on the host server since all the work for preparation and taking the backup is performed by the host server. Moreover, while VSS may be configured to indicate where the virtual disk snapshot images reside, it still cannot be used in conjunction with the VCB backup proxy.
Methods and systems are needed that can overcome the aforementioned shortcomings.